/*
 * @lc app=leetcode.cn id=475 lang=javascript
 *
 * [475] 供暖器
 */

// @lc code=start
/**
 * @param {number[]} houses
 * @param {number[]} heaters
 * @return {number}
 */
var findRadius = function(houses, heaters) {
    houses=houses.sort((a,b)=>a-b)
    heaters=heaters.sort((a,b)=>a-b)
    let dis_max=0
    for(let i=0;i<houses.length;i++){
        let left=0
        let right=heaters.length-1
        while(left<right-1){
            let mid=(left+right)>>1
            if(houses[i]==heaters[mid]){
                left=mid 
                right=mid
                break
            }else if(houses[i]<heaters[mid]){
                right=mid
            }else{
                left=mid
            }
        }
        let temp=Math.min(Math.abs(heaters[right]-houses[i]),Math.abs(houses[i]-heaters[left]))
        dis_max=Math.max(temp,dis_max)
    }
    return dis_max
};//逐一遍历HOUSES找到其中里每个houses[i]最近的那个加热器记录距离，最后取所有距离中的最大值即可。其中关于while循环找最近和找相等的写法有所不同。
// @lc code=end

